		// create round tower
		
		const Player* player = Game::GetCurrentPlayer();
		const float snap = Game::GetPlacementSnapDistance();
		const NxVec3 pos(player->GetPlacementPositionX()*snap, 0, player->GetPlacementPositionZ()*snap);
		const float b = Game::GetBrickSize();
		const int n = 5; //stones per circle
		const int height = 8;
		const float aStep = 2.0f*NxPiF32/n;
		//const float r = 2.0f*b*n/NxPiF32;
		const float r = 2.0f*b/(sin(NxPiF32/n));
		const float r2 = b + cos(aStep/2)*r;
		for(int i=0; i<n; ++i) {
			const float a = aStep*i;
			for(int h=0; h<height; ++h) {
				const float a2 = a+aStep*0.5f;
				CreateBox(pos+NxVec3(sin(a)*r2,  b + b*4.0f*h,      cos(a)*r2),  NxVec3(b*2.0f, b, b), NxVec3(0, a, 0));
				CreateBox(pos+NxVec3(sin(a2)*r2, b*3.0f + b*4.0f*h, cos(a2)*r2), NxVec3(b*2.0f, b, b), NxVec3(0, a2, 0));
			}
		}

		const NxVec3 cannonPos(player->GetPlacementPositionX()*snap, 0, player->GetPlacementPositionZ()*snap);
		const float rotZ = (Game::GetCurrentPlayerIndex() == 0 ? 0.0f : NxPiF32) + NxPiF32*0.5f;
		Cannon* cannon = new Cannon(cannonPos + NxVec3(0.0f, 10.0f, 0.0f), NxVec3(0,rotZ,0));
		Game::GetCurrentPlayer()->cannons.Add(cannon);
		Game::SelectNextPlayer();
